"""
    自动存取款机

    功能如下：
    1. 登录
    2. 退出当前银行卡
    3. 查询余额
    4. 取钱
    5. 存钱
"""

INIT_MONEY = 10000 # 每个银行卡的初始金额
card_dict = {} # 存放各个银行卡的信息(键是卡号,值是金额)

def showHelp():
    print("1 查询余额", end=" ")
    print("2 取钱", end=" ")
    print("3 存钱", end=" ")
    print("4 退出当前银行卡")

def handleOneCard():
    key = input("请输入卡号:")
    card = key
    key = input("请输入密码:")

    # 这里省略了卡号和密码的合法性校验

    # 当前银行卡信息不存在，则初始化一张
    if card not in card_dict:
        card_dict[card] = INIT_MONEY

    print("=" * 12, "欢迎您，卡号:{}".format(card), "=" * 12)

    while True:
        showHelp()
        key = input("请选择操作:")
        if "1" == key: # 显示余额
            print("卡号:{} 余额:{}元".format(card, card_dict[card]))
        elif "2" == key: # 取钱
            money_to_get = int(input("请输入要取的金额:"))
            if money_to_get > card_dict[card]:
                print("要取的金额({}元)大于现有金额({}元)".format(money_to_get, card_dict[card]))
            else:
                print("成功取出了{}元".format(money_to_get))
                card_dict[card] -= money_to_get
        elif "3" == key: #存钱
            money_to_add = int(input("请输入要存的金额:"))
            if money_to_add < 0:
                print("存钱金额非法:", money_to_add)
            else:
                print("成功存入{}元".format(money_to_add))
                card_dict[card] += money_to_add
        elif "4" == key: # 退出当前银行卡
            print("="*12, "请取出银行卡，再见", "="*12)
            break

        print("")

while True:
    print("="*12, "欢迎使用自动存取款机", '='*12)
    handleOneCard()
    # 自动存取款机会一直循环运行
